package com.jixi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jixi.common.result.PageResult;
import com.jixi.common.result.Result;
import com.jixi.pojo.dto.AddCooperateDto;
import com.jixi.pojo.entity.CooperateSchoolCompany;

public interface CooperateSchoolCompanyService extends IService<CooperateSchoolCompany> {
    
    /**
     * 获取餐饮公司的启用合作数
     *
     * @param companyId 餐饮公司id
     * @return 餐饮公司合作数
     */
    Long countCompanyCooperateNum(Long companyId);
    
    /**
     * 合作关系条件列表分页查询
     *
     * @param pageNum       页码
     * @param pageSize      每页数量
     * @param schoolId      学校id
     * @param companyId     餐饮公司id
     * @param status        状态
     * @return 学校列表
     */
    Result<PageResult> cooperatePage(Integer pageNum, Integer pageSize, Long schoolId, Long companyId, Integer status);
    
    /**
     * 添加合作关系
     *
     * @param addCooperateDto 学校合作餐饮公司信息
     * @return 添加结果
     */
    Result addCooperate(AddCooperateDto addCooperateDto);
    
    /**
     * 修改合作关系状态
     *
     * @param cooperateId 合作关系id
     * @param status      状态
     * @return 修改结果
     */
    Result updateCooperateStatus(Long cooperateId, Integer status);
    
    /**
     * 删除合作关系
     *
     * @param cooperateId 合作表id
     * @return 删除结果
     */
    Result deleteCooperateById(Long cooperateId);
    
    /**
     * 获取学校的启用合作数
     *
     * @param schoolId 学校id
     * @return 学校合作数
     */
    Long countSchoolCooperateNum(Long schoolId);
}
